package com.subfg.common.entity.config.pay;

import com.subfg.common.entity.common.CommonModel;
import com.subfg.common.util.auth.AesUtil;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;

import java.io.Serializable;

@Data
@NoArgsConstructor
@AllArgsConstructor
@ApiModel(value = "stripe 支付配置实体类")
public class ConfigPayStripeModel extends CommonModel implements Serializable {
    @ApiModelProperty(value = "stripe 公钥")
    private String pkKey;
    @ApiModelProperty(value = "stripe 私钥")
    private String skKey;


    private static Logger log = LoggerFactory.getLogger(ConfigPayStripeModel.class);
    /**
     * 解密Stripe数据
     * @param configPayStripeModel
     * @return
     */
    public static ConfigPayStripeModel decodeStripeConfigInfo(ConfigPayStripeModel configPayStripeModel) {
        if (configPayStripeModel != null) {
            configPayStripeModel.setPkKey(AesUtil.aesDecrypt(configPayStripeModel.getPkKey()));
            configPayStripeModel.setSkKey(AesUtil.aesDecrypt(configPayStripeModel.getSkKey()));
            return configPayStripeModel;
        }
        log.info("stripe 配置解密失败!!!!!");
        return null;
    }


    /**
     * 加密Stripe数据
     * @param configPayStripeModel
     * @return
     */
    public static ConfigPayStripeModel encryptStripeConfigInfo(ConfigPayStripeModel configPayStripeModel) {
        if (configPayStripeModel != null) {
            configPayStripeModel.setPkKey(AesUtil.aesEncrypt(configPayStripeModel.getPkKey()));
            configPayStripeModel.setSkKey(AesUtil.aesEncrypt(configPayStripeModel.getSkKey()));
            return configPayStripeModel;
        }
        log.info("stripe 解密失败!!!!!");
        return null;
    }
}
